package site.wetsion.employ.server.util;

import java.io.Serializable;
/**
 * 分页中页实体
 * @author Wetsion
 *
 */
public class Page implements Serializable {

	private static final long serialVersionUID = 1L;
	/** 页码*/
	private int pageNum;
	/** 一页数据数量*/
	private int pageSize;
	/** 总记录数*/
	private int totalRecord;
	/** 总页数*/
	private int totalPage;

	public Page(int pageNum, int pageSize) {
		super();
		this.pageNum = pageNum;
		this.pageSize = pageSize;
	}

	public int getPageNum() {
		return pageNum;
	}

	public void setPageNum(int pageNum) {
		this.pageNum = pageNum;
	}

	public int getPageSize() {
		return pageSize;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	
	public int getTotalRecord() {
		return totalRecord;
	}

	public void setTotalRecord(int totalRecord) {
		this.totalRecord = totalRecord;
	}

	public int getTotalPage() {
		return (int) Math.ceil(totalRecord / (double) pageSize);
	}

	public void setTotalPage(int totalPage) {
		this.totalPage = totalPage;
	}

	public String getPageString() {
		totalPage = (int) Math.ceil(totalRecord / (double) pageSize);
		StringBuffer pageSb = new StringBuffer();
		System.out.println(totalPage+""+totalRecord);
		if (totalPage <= 1) {
			
		} else {
			// 上一页
			pageSb.append("<ul class='pager'>");
			if (pageNum == 1) {
				if(totalPage > 5){
					pageSb.append("<li class='leftpag disabled'><a href='javascript:void(0)' pageData='0'>首页</a></li>");
					pageSb.append("<li class='disabled'><a href='javascript:void(0)' pageData='0'>上一页</a></li>");
				}else{
					pageSb.append("<li class='leftpag disabled'><a href='javascript:void(0)' pageData='0'>上一页</a></li>");
				}
			} else {
				if(totalPage > 5){
					pageSb.append("<li class='leftpag'><a href='javascript:void(0)' pageData='1'>首页</a></li>");
					pageSb.append("<li><a href='javascript:void(0)' pageData='");
					pageSb.append(pageNum - 1);
					pageSb.append("'>上一页</a></li>");
				}else{
					pageSb.append("<li class='leftpag'><a href='javascript:void(0)' pageData='");
					pageSb.append(pageNum - 1);
					pageSb.append("'>上一页</a></li>");
				}
			}
			
			// 页数
			if (totalPage <= 5) {
				for (int i = 1; i <= totalPage; i++) {
					if (i == pageNum) {
						pageSb.append("<li class='active'><a href='javascript:void(0)' pageData='");
						pageSb.append(0);
						
					} else {
						pageSb.append("<li><a href='javascript:void(0)' pageData='");
						pageSb.append(i);
					}
					pageSb.append("'>");
					pageSb.append(i);
					pageSb.append("</a></li>");
				}
			} else {
				if (pageNum < 4) {
					for (int i = 1; i <= 5; i++) {
						if (i == pageNum) {
							pageSb.append("<li class='active'><a href='javascript:void(0)' pageData='");
							pageSb.append(0);
						} else {
							pageSb.append("<li><a href='javascript:void(0)' pageData='");
							pageSb.append(i);
						}
						pageSb.append("'>");
						pageSb.append(i);
						pageSb.append("</a></li>");
					}
				} else {
					if (totalPage - pageNum >= 2) {
						for (int i = pageNum - 2; i < pageNum; i++) {
							pageSb.append("<li><a href='javascript:void(0)' pageData='");
							pageSb.append(i);
							pageSb.append("'>");
							pageSb.append(i);
							pageSb.append("</a></li>");
						}
						pageSb.append("<li class='active'><a href='javascript:void(0)' pageData='");
						pageSb.append(0);
						pageSb.append("'>");
						pageSb.append(pageNum);
						pageSb.append("</a></li>");
						for (int i = pageNum + 1; i <= pageNum+2; i++) {
							pageSb.append("<li><a href='javascript:void(0)' pageData='");
							pageSb.append(i);
							pageSb.append("'>");
							pageSb.append(i);
							pageSb.append("</a></li>");
						}
					} else {
						for (int i = (totalPage - 5) + 1; i < pageNum; i++) {
							pageSb.append("<li><a href='javascript:void(0)' pageData='");
							pageSb.append(i);
							pageSb.append("'>");
							pageSb.append(i);
							pageSb.append("</a></li>");
						}
						pageSb.append("<li class='active'><a href='javascript:void(0)' pageData='");
						pageSb.append(0);
						pageSb.append("'>");
						pageSb.append(pageNum);
						pageSb.append("</a></li>");
						for (int i = pageNum + 1; i <= totalPage; i++) {
							pageSb.append("<li><a href='javascript:void(0)' pageData='");
							pageSb.append(i);
							pageSb.append("'>");
							pageSb.append(i);
							pageSb.append("</a></li>");
						}
					}
				}
			}
			// 下一页
			if (pageNum == totalPage) {
				if(totalPage>5){
					pageSb.append("<li class='disabled'><a href='javascript:void(0)' pageData='0'>下一页</a></li>");
					pageSb.append("<li class='disabled'><a href='javascript:void(0)' pageData='0'>末页</a></li>");
				}else{
					pageSb.append("<li class='disabled'><a href='javascript:void(0)' pageData='");
					pageSb.append(0);
					pageSb.append("'>下一页</a></li>");
				}
			} else {
				if(totalPage>5){
					pageSb.append("<li><a href='javascript:void(0)' pageData='");
					pageSb.append(pageNum + 1);
					pageSb.append("'>下一页</a></li>");
					pageSb.append("<li><a href='javascript:void(0)' pageData='"+totalPage+"'>末页</a></li>");
				}else{
					pageSb.append("<li><a href='javascript:void(0)' pageData='");
					pageSb.append(pageNum + 1);
					pageSb.append("'>下一页</a></li>");
				}
			}
		}
		pageSb.append("</ul><div style='margin:6px 6px 0 0'>共计"+totalRecord+"条记录</div>");
		return pageSb.toString();
	}
	
}
